'SUPERHIRN © by Wolfram Frech ' Haidaerstr.3 ' 5308 Rheinbach GOSUB Menue ON MENU GOSUB Menubearbeitung MENU ON nummer=1:DIM position(12,5) SCREEN 1,320,256,4,1 WINDOW 1,"Superhirn by Wolfram Frech",,16,1 initbild: FOR a=0 TO 11:PALETTE a,0,0,0:NEXT:'alles schwarz COLOR 1,2 LINE (16*8,2*8)-(37*8,30*8),2,bf LOCATE 3,1 FOR a=12 TO 1 STEP -1 PRINT:PRINT TAB(17);a:'Zahlen schreiben NEXT LOCATE 29,28:PRINT "A B C D E" CIRCLE (27*8+3,26*8-5),5,1,,,1:PAINT STEP(0,0) DIM kreis%(46):GET (27*8+3-5,26*8-5-5)-(27*8+3+5,26*8-5+5),kreis% FOR a=1 TO 12 FOR b=1 TO 5 PUT ((25+2*b)*8-2,3+2*a*8+3),kreis%,PSET:'braune Kreise setzen NEXT NEXT c=2 FOR a=1 TO 2 FOR b=1 TO 4 c=c+1 CIRCLE (30*b-15,30*a),10,c,,,1:PAINT (30*b-15,30*a),c:'Auswahlkreise NEXT NEXT LINE (3,18)-(27,42),10,b:farbe=3 LINE (34,98)-(98,122),10,bf LINE (32,96)-(96,120),11,bf COLOR 9,11:LOCATE 14,6:PRINT "Fertig" LINE (2,135)-(124,135),11 COLOR 10,0:LOCATE 19,2:PRINT "Mit Mehrfachen":doppel=0 LINE (8,168)-(40,192),10,b:PAINT (9,169),11,10:LINE (64,168)-(112,192),10,b COLOR 9,11:LOCATE 23,3:PRINT "Ja":COLOR 10,0:LOCATE 23,10:PRINT "Nein" LINE (2,210)-(58,234),10,bf:LINE (74,210)-(122,234),10,bf LINE (0,208)-(56,232),11,bf:LINE (72,208)-(120,232),11,bf COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL COLOR 9,11:LOCATE 28,2:PRINT "Start":LOCATE 28,11:PRINT "Stop" FOR a=0 TO 11:'Farbwerte einlesen READ c1,c2,c3 PALETTE a,c1/15,c2/15,c3/15 NEXT einstellungen: WHILE MOUSE(0)<=0 SLEEP WEND IF MOUSE(4)>=168 AND MOUSE(4)<=192 THEN IF MOUSE(3)>=8 AND MOUSE(3)<=40 THEN doppel=0 COLOR 11:AREA (9,169):AREA (39,169):AREA (39,191):AREA (9,191):AREAFILL COLOR 0:AREA (65,169):AREA (111,169):AREA (111,191):AREA (65,191):AREAFILL COLOR 9,11:LOCATE 23,3:PRINT "Ja":COLOR 10,0:LOCATE 23,10:PRINT "Nein" END IF IF MOUSE(3)>=64 AND MOUSE(3)<=112 THEN doppel=1 COLOR 0:AREA (9,169):AREA (39,169):AREA (39,191):AREA (9,191):AREAFILL COLOR 11:AREA (65,169):AREA (111,169):AREA (111,191):AREA (65,191):AREAFILL COLOR 10,0:LOCATE 23,3:PRINT "Ja":COLOR 9,11:LOCATE 23,10:PRINT "Nein" END IF END IF IF MOUSE(4)>=208 AND MOUSE(4)<=232 THEN IF MOUSE(3)>=0 AND MOUSE(3)<=56 THEN COLOR 4:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL COLOR 11:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL GOTO start END IF END IF GOTO einstellungen start: 'zufall kreieren RANDOMIZE TIMER IF doppel=0 THEN FOR a=1 TO 5 zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a) NEXT END IF IF doppel=1 THEN FOR a=1 TO 5 zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a) doppeltest: FOR b=1 TO a-1 IF zufall(a)=zufall(b) THEN zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a):GOTO doppeltest END IF NEXT NEXT END IF nummer=1 maus: WHILE MOUSE(0)<=0 SLEEP WEND IF MOUSE(4)>=208 AND MOUSE(4)<=232 THEN IF MOUSE(3)>=72 AND MOUSE(3)<=120 THEN COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL GOTO deckauf END IF END IF IF MOUSE(3)>214 THEN FOR a=1 TO 5 IF (25+2*a)*8-2=34 AND MOUSE(3)<=98 AND MOUSE(4)>=98 AND MOUSE(4)<=122 THEN FOR b=1 TO 5:IF position(nummer,b)=0 THEN BEEP:GOTO maus NEXT COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL GOTO vergleich END IF c=farbe:farbe=POINT(MOUSE(3),MOUSE(4)):IF farbe<3 THEN farbe=c:GOTO maus IF c<7 THEN LINE (30*(c-2)-27,18)-(30*(c-2)-3,42),0,b :ELSE LINE (30*(c-6)-27,48)-(30*(c-6)-3,72),0,b IF farbe<7 THEN LINE (30*(farbe-2)-27,18)-(30*(farbe-2)-3,42),10,b :ELSE LINE (30*(farbe-6)-27,48)-(30*(farbe-6)-3,72),10,b GOTO maus vergleich: zaehler=1 FOR a=1 TO 5 IF position(nummer,a)=zufall(a) THEN position(nummer,a)=1:vergeben(a)=0 CIRCLE ((19+zaehler)*8+3,16*(13-nummer)+11),3,10,,,1 PAINT STEP(0,0),10 zaehler=zaehler+1 END IF NEXT IF zaehler=6 THEN deckauf FOR a=1 TO 5 FOR b=1 TO 5 IF position(nummer,a)=vergeben(b) THEN position(nummer,a)=1:vergeben(b)=0 CIRCLE ((19+zaehler)*8+3,16*(13-nummer)+11),3,9,,,1 PAINT STEP(0,0),9 zaehler=zaehler+1 END IF NEXT NEXT FOR a=1 TO 5:vergeben(a)=zufall(a):NEXT nummer=nummer+1 IF nummer=13 THEN COLOR 9,0:LOCATE 1,1:PRINT "Leider nicht geschafft!":GOTO deckauf 'Blinkzeichen FOR a=1 TO 4 COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL FOR b=1 TO 500:NEXT COLOR 4:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL FOR b=1 TO 500:NEXT NEXT GOTO maus deckauf: COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL FOR a=1 TO 5 CIRCLE ((25+2*a)*8+3,7),5,zufall(a),,,1:PAINT STEP(0,0),zufall(a) NEXT 'blinken FOR a=1 TO 5 LINE (212,0)-(290,14),0,b FOR b=1 TO 1000:NEXT LINE (212,0)-(290,14),10,b FOR b=1 TO 1000:NEXT NEXT COLOR 9,0:LOCATE 1,1:PRINT SPACE$(23) LOCATE 1,1:PRINT "Linke Maustaste!" WHILE MOUSE(0)=0 SLEEP WEND COLOR 11,0:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL defaults: LOCATE 1,1:PRINT SPACE$(16) LINE (212,0)-(290,14),0,bf LINE (160,24)-(206,206),2,bf nummer=1 FOR a=1 TO 12 FOR b=1 TO 5 position(a,b)=0 NEXT NEXT FOR a=1 TO 12 FOR b=1 TO 5 PUT ((25+2*b)*8-2,3+2*a*8+3),kreis%,PSET:'braune Kreise setzen NEXT NEXT FOR a=1 TO 4 COLOR 11:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL FOR b=1 TO 500:NEXT COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL FOR b=1 TO 500:NEXT NEXT GOTO einstellungen '**************************************** Menue: MENU 1,0,1,"Superhirn" MENU 1,1,1,"Info " MENU 1,2,1,"Ende " MENU 2,0,1,"" MENU 3,0,1,"" MENU 4,0,1,"" RETURN Menubearbeitung: IF MENU(0)=1 THEN IF MENU(1)=1 THEN GOSUB Info IF MENU(1)=2 THEN SYSTEM END IF RETURN Info: WINDOW 2,"Superhirn Info Fenster",(0,0)-(311,80),22,1 PRINT "Superhirn geschrieben in Amiga-Basic" PRINT "von Wolfram Frech" PRINT :PRINT "Dieses Programm ist Public Domain" PRINT "Für mehr Infos siehe das Superhirn.Doc" PRINT "File." PRINT :PRINT "Maus-Taste !" WHILE MOUSE(0)=0 WEND WINDOW CLOSE 2 RETURN DATA 7,7,7,4,1,0,6,1,0 DATA 0,4,13,13,0,0,0,10,0,15,14,0,15,7,0,10,7,0,15,15,15,0,0,0 DATA 0,5,10